A screen tile pair-based binocular rendering pipeline process and method

ABSTRACT

The invention discloses A screen tile-pair based binocular rendering pipeline process and method, comprising: completing space division according to a spatial relationship of two visual angles in stereo rendering, and generating input primitive lists corresponding to the divided space; searching non-full primitive lists of space divisions and obtaining a surface with spatial partition; and dispatching all generated spatial divisions, and simultaneously performing rasterizing and rendering of two visual angles for primitives in each space division. According to the new measures, a spatial correlation of two visual angles in stereo rendering is considered, and in a rendering process the two visual angles are rasterized and rendered at the same time, thereby reducing a bandwidth required for repeated reading of triangular data in the rendering process.

TECHNICAL FIELD

The present invention relates to the technical field of real-timerendering, in particular to a screen tile-pair based binocular renderingpipeline process and method.

BACKGROUND TECHNOLOGY

Stereoscopic rendering represents the rendering of two images withparallax only in the X-axis direction, which is a special case ofmulti-view rendering. Simple multi-view rendering can be achievedthrough multiple independent rendering processes. However, multipleindependent rendering processes involve multiple calls to the graphicsapplication interface, resulting in inefficient rendering. Therefore,one of the key optimizations for multi-view rendering is to breakthrough the limitations of such multiple calls.

De Sorbier uses a vertex and geometry shader to simultaneously projectgeometry to two different viewpoints in a same rendering process.NVIDIA's Single Pass Stereo implements a new multi-projectionarchitecture on the Pascal-based graphics card that projects bothgeometries into the left and right views by rendering only one pass.However, this technology only outputs the position coordinates of thetwo viewpoints at the same time in the vertex shader stage, and does notconsider the geometric relationship between the two views.

In addition, some methods based on epipolar geometry have also been usedto optimize the rasterization process under two pilots. Adelson usedprojection correspondence to analyze and optimize a series of classicalgraphics algorithms under two pilots, including scan line rasterization,culling, and hidden surface culling. Hasselgren proposed to rasterizeand calculate the coloring at multiple viewpoints along the barycentriccoordinates of the triangle on the scan line. In the process oftraversing the scan lines, the coloring calculation can be reduced bymultiplexing the coloring results of adjacent viewpoints.

In the field of graphics rendering, the screen tile-pair-based renderingtechniques have been developed for a long time. A large number of screentile-pair based technologies have been implemented by Fuchs et al. inthe Pixel Planes 5 project. However, because the screen tile-pair basedtechnologies need to sort the geometric data in the middle of therendering pipeline, the technologies has not been widely applied todesktop graphics cards, but is widely used in embedded graphics cardssuch as ARM and POWERVR. The multi-view rasterization framework proposedby Hasselgren also considers the case based on rendering, but they onlyconsider the case inside a triangle without considering the distributionof the entire scene.

SUMMARY OF THE INVENTION

In view of the deficiencies of the prior art, the present inventionproposes a stereo hardware rendering pipeline method based on splicingpairs, which considers the correlation of scene geometry in two, namelyleft and right, perspectives. At the same time, the rasterization ofgeometric primitives in two perspectives is accomplished simultaneously,and the stereo hardware rendering pipeline method based on splicingpairs can effectively reduce the bandwidth required to render the scene.

The technical solution of the present invention is:

A screen tile-pair based binocular rendering pipeline process andmethod, comprising the following steps:

(1) dividing an entire space into a plurality of screen tile pairsaccording to the spatial relationship of left and right visual angles inbinocular rendering, and generating a primitive list in the input scenecorresponding thereto for each screen tile pair;

(2) after generating the screen tile pairs, obtaining a plurality ofspatially consistent surfaces by searching the screen tile pairs,wherein the spatially consistent surface is a surface formed by spacescorresponding to a plurality of connected screen tile pairs to the;

(3) after obtaining a plurality of spatial consistency surfaces,scheduling all the screen tile pairs, and rasterizing and rendering theprimitives corresponding to each screen tile pair simultaneously.

In the present invention, any screen tile corresponding to the screen ofthe left view corresponding to the screen and any screen tilecorresponding to the screen of the right view form a screen tile pair,according to the left and right view lines and the two screen tilesconstituting the screen tile pair, behind the two screen tiles. The areaformed by the intersection of the left and right lines of sight isreferred to as the corresponding space of the screen tile pair.

The specific steps of Step (1) are as follows:

(1-1) According to a present screen tile size nxn, dividing the screenscorresponding to left and right visual angles respectively into aplurality of screen tiles T_(j) ⁰ and T_(j) ¹; wherein, j=1,2, . . . , Nrepresents the serial number of the screen tiles, and the serial numberj is incremented from left to right, from top to small, and N is thetotal number of the screen tiles;

(1-2) Respectively calculating positions L_(P) _(i) ⁰ and L_(P) _(i) ¹of a input i-th primitive P_(i) projected on the screens correspondingto left and right visual angles, where i=1, 2, M, M is the total numberof the input primitives;

(1-3) After determining the positions L_(P) _(i) ⁰ and L_(P) _(i) ¹,respectively calculating screen tiles covered by the positions L_(P)_(i) ⁰ and L_(P) _(i) ¹, and the screen tiles form screen tile setT_(Pi) ⁰ and T_(Pi) ¹ covered by the primitive P_(i);

(1-4) In a screen tile unit, according to each polar line in thehorizontal direction, traversing the screen tiles on the current polarline in the screens corresponding to left and right visual angles fromleft to right simultaneously, and determining whether the currentprimitive P_(cur) belongs to the currently traversed screen tile pair(T_(cur) ⁰, T_(cur) ¹);

(1-5) constructing a double-layer index in the traversing process, thefirst layer index being a primitive index, which is a primitive list onthe space corresponding to the screen tiles; the second layer index isan index of the primitives on the screen tiles, which is an index listof primitives on the screen tiles corresponding to the correspondingspace of the screen tile pairs.

In the present invention, the present screen tile size nxn is convenientfor parallel processing. Generally, the value is a power of two, and thevalue range of n is generally 2³˜2⁷. The primitive refers to theconstituent elements of the mesh model that needs to be drawn, such as atriangle in a triangular mesh.

In Step (1-3), the positions L_(P) _(i) ⁰ of the primitive P_(i)projected on the screens corresponding to left visual angles intersectsthe screen tiles in the screen tile set T_(Pi) ⁰, the screen tile setT_(Pi) ⁰ covered by the primitive P_(i) is determined; similarly, thepositions L_(P) _(i) ¹ of the primitive P_(i) projected on the screenscorresponding to right visual angles intersects the screen tiles in thescreen tile set T_(Pi) ¹, the screen tile set T_(Pi) ¹ covered by theprimitive P_(i) is determined.

In Step (1-4) the specific steps of whether the current primitiveP_(cur) belongs to the currently traversed screen tile pair (T_(cur) ⁰,T_(cur) ¹) are as follows:

(a) forming sets of T_(Pcur) ⁰, and T_(Pcur) ¹ through respectivelyextracting the screen tiles on the current polar line from overlayscreen tile sets T_(Pcur) ⁰ and T_(Pcur) ¹ of the current primitiveP_(cur); and the smallest sequence number screen tiles T_(j) _(min) ⁰and T_(j) _(min) ¹ extracted from the sets of T_(Pcur) ⁰, and T_(Pcur) ¹are used as the currently traversing screen tiles T_(cur) ⁰, T_(cur) ¹;

(b) respectively calculating the barycentric coordinates (s_(cur) ⁰,e_(cur) ⁰) and (s_(cur) ¹, e_(cur) ¹) of the screen tiles T_(cur) ⁰ andT_(cur) ¹ on the boundary of the screen tiles, s_(cur) ⁰ and e_(cur) ⁰respectively represent the barycentric coordinates calculated at thevertical coordinate c_(v) ⁰ on the left and right boundary of T_(cur) ⁰;s_(cur) ¹ and e_(cur) ¹ respectively represent the barycentriccoordinates calculated at the vertical coordinate c_(v) ¹ on the leftand right boundary of T_(cur) ¹, and c_(v) ¹=c_(v) ⁰;

(c) determining the traversing direction d of the current primitiveP_(cur) on the current pole line by calculating the difference betweenthe barycentric coordinates of the screen tile boundary on the samepolar line;

(d) Respectively calculating the benefit interval [E⁰(s), E⁰(e)],[E¹(s), E¹(e)] of the screen tiles T_(cur) ⁰, T_(cur) ¹, if [E⁰(s),E⁰(e)] and [E¹(s), E¹(e)] have overlapping parts, then the currentprimitive P_(cur) belongs to the currently traversed screen tile pair(T_(cur) ⁰, T_(cur) ¹);

Wherein, E⁰(s)=d*s_(cur) ⁰, E⁰(e)=d*e_(cur) ⁰, E¹(s)=d*s_(cur) ¹,E¹(e)=d*e_(cur) ¹;

(e) Comparing the sizes of E⁰(e) and E¹(e):

If E⁰(e)<E¹(e), then T_(cur+1) ⁰ is treated as T_(cur) ⁰, T_(cur) ¹remains unchanged;

If E⁰(e)>E¹(e), then T_(cur+1) ¹ is treated as T_(cur) ¹, T_(cur) ⁰remains unchanged;

If E⁰(e)=E¹(e), then T_(cur+1) ⁰ is treated as T_(cur) ⁰, T_(cur+1) ¹ istreated as T_(cur) ¹;

(f) After performing Step (e), determining whether the screen tileT_(cur) ⁰ exists in the screen tile set T_(Pcur) ⁰ and the screen tileT_(cur) ¹ exists in the screen tile set T_(Pcur) ¹. If so, Step (b)˜Step(f) are performed circularly, and if not, the traversal search for thecurrent primitive P_(cur) is ended.

In Step (1-5), the method of constructing the primitive list on thespace corresponding to the screen tile is consistent with theconventional screen tile-based method. On the basis of the establishmentof the primitive index, the screen tile index is established, and the Idof the two screen tiles constituting the screen tile pair is stored onthe screen tile pair, and the corresponding primitive is found accordingto the Id stored in the two screen tiles. That is, the list of T storedon the screen tile pair is the index of primitive list of one primitiveon the two screen tiles. For example, the primitive P is the Id₀ elementP₀ in the primitive list of the screen tile T_(b) ¹, and the primitivelist in the screen tile T_(b) ¹ is Id1 element P₁, then if the primitiveP is stored on the screen tile pair (T_(a) ⁰, T_(b) ⁰), that theprimitive P stored on the screen tile pair (T_(a) ⁰, T_(b) ⁰) is(Id₀,Id₁).

In Step (2), a plurality of spatially consistent surfaces obtained bysearching the screen tile pairs are based on the screen tiles, thefollowing steps are performed for each polar line in the horizontaldirection:

(2-1) Among the screen tile pairs generated on the current polar line,using a screen tile pair that is not accessed as an starting screen tilepair (T_(s) ⁰, T_(s) ¹) to perform a traversing operation;

(2-2) In the traversing operation, traversing neighboring screen tilepairs that have not been accessed in a depth-first manner;

(2-3) If all connected screen tile pairs have been accessed, thestarting screen tile pair (T_(s) ⁰, T_(s) ¹) is recorded, and aspatially consistent surface is formed by all connected screen tilepairs;

(2-4) Skipping to perform Steps (2-1)˜(2-3) until all the screen tilepairs have been accessed on the current polar line;

By traversing all the screen tile pairs on all the polar lines of thescreen through Steps (2-1)˜(2-4), a plurality of spatial consistencysurfaces are formed, and the starting screen tile pair (T_(s) ⁰, T_(s)¹) in each spatial consistency surface is recorded, which constitutes astarting screen tile pair set, the starting screen tile pair setincludes a plurality of starting screen tile pair subsets divided bypolar lines, and each starting screen tile pair subset includes allstarting screen tile pairs belonging to the same polar line.

In Step (2-1), in the screen tile pairs that are not accessed on thecurrent polar line, the screen tile pair with the smallest screen tilenumber corresponding to the left visual angle is used as the startingscreen tile pair (T_(s) ⁰, T_(s) ¹), if there are multiple screen tilepairs with the smallest screen tile number corresponding to the leftvisual angle, then the screen tile pair with the smallest screen tilenumber corresponding to the left and right visual angles are used as thestarting screen tile pair (T_(s) ⁰, T_(s) ¹).

In Step (2-2), for the screen tile pair (T_(s) ⁰, T_(s) ¹), theneighboring screen tile pairs that have not been accessed are traversedin a depth-first manner according to the screen tile pair (T_(s+1) ⁰,T_(s) ¹), the screen tile pair (T_(s+1) ⁰, T_(s+1) ¹), the screen tilepair (T_(s) ⁰, T_(s+1) ¹) .

In Step (3), the following steps are performed for each polar line inthe horizontal direction:

(3-1) Among the screen tile pair subset corresponding to the currentpolar line, starting with the appropriate starting screen tile pair,according to the depth-first manner, all the unrasterized screen tilepairs in the spatially consistent surface corresponding to the startingscreen tile pair are traversed;

(3-2) During the traversing process, the primitives in the screen tilepairs being accessed are rasterized and drawn;

(3-3) Skipping to perform Steps (3-1)˜(3-3) until all the startingscreen tile pairs in the starting screen tile pair subsets correspondingto the current polar line are accessed;

All the screen tile pairs are rasterized and drawn according to Steps(3-1)˜(3-3).

In Step (3-1), the appropriate starting screen tile pair is determinedin the following manner: in the screen tile pair subsets, the startingscreen tile pair with the maximum screen tile number corresponding tothe right visual angle is used as the appropriate starting screen tilepair; if there are multiple screen tile pairs with the maximum screentile number corresponding to the right visual angle, then the screentiles pair with the maximum screen tile number corresponding to theright and left visual angles are used as the appropriate starting screentile pair.

In Step (3-1), the depth-first manner is consistent with the depth-firstmanner of Step (2-2).

In Step (3-2), the specific process of rasterizing and rendering theprimitives in the screen tile pairs being accessed:

(3-2-1) For the current screen tile pair being accessed, two primitiveindexes that need to be drawn are read according to the two-layer index;specifically: determining whether the two primitive indexescorresponding to the screen tile pairs are negative, and if so, the twoprimitives have been rasterized on the associated screen tiles, if not ,then Step (3-2-2) is performed;

(3-2-2) The rasterization data(screen space position, surface equation)and the corresponding required rendering data(vertex attribute, etc.)are read according to the two primitive indexes, and the two primitivesare rasterized and drawn; and after completing the rasterization andrendering, the primitive index is assigned a negative value and writtenback to the position corresponding to the primitive list on the screentile.

The present invention simultaneously processes data of two visual anglesin the rendering process, and reduces the cost of repeatedly renderingdata such as vertex attributes in the conventional screen tile method.In addition, by searching for spatial consistency and schedulingaccording to the screen tile, it is possible to reduce the excessivecoloring by combining optimization means such as level Z culling.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flow diagram of a screen tile-pair based binocular renderingpipeline process and method of the present invention.

FIG. 2 is a schematic diagram of building a screen tile pair along thepolar line of the present invention.

FIG. 3 is a schematic diagram of determine the traversing direction whenbuilding screen tile pairs of the present invention.

FIG. 4 is a schematic diagram of a two-layer index created during theprocess of building a screen tile pair of the present invention.

FIG. 5 is a schematic diagram of a partially consistent surface formedin the present invention.

DESCRIPTION OF THE EMBODIMENTS

In order to describe the present invention more specifically, thetechnical solutions of the present invention will be described in detailbelow with reference to the accompanying drawings and specificembodiments.

Referring to FIG. 1, a screen tile-pair based binocular renderingpipeline process and method in this Embodiment includes the followingsteps:

S01, According to a present screen tile size n×n, the screenscorresponding to left and right visual angles are respectively dividedinto a plurality of screen tiles T_(j) ⁰ and T_(j) ¹; wherein, j=1,2, .. . , N represents the serial number of the screen tiles, and the serialnumber j is incremented from left to right, from top to small, and N isthe total number of the screen tiles, Referring to FIG. 2.

In this Embodiment, n=8, the size of the screens corresponding to leftand right visual angles is 640×480, then the serial number of thescreens is 0˜4799, that is N=4799.

S02, Respectively calculating positions L_(P) _(i) ⁰ and L_(P) _(i) ¹,of a input i-th primitive P_(i) projected on the screens correspondingto left and right visual angles, where i=1, 2, M, M is the total numberof the input primitives.

The grid input in this Embodiment is composed of triangular patches,that is, the input primitives are triangles.

S03, After the positions L_(P) _(i) ⁰ and L_(P) _(i) ¹ are determined,respectively calculating screen tiles covered by the positions L_(P)_(i) ⁰ and L_(P) _(i) ¹, and the screen tiles form screen tile setT_(Pi) ⁰ and T_(Pi) ¹ covered by the primitive P_(i).

S04, In a screen tile unit, according to each polar line in thehorizontal direction, the screen tiles on the current polar line in thescreens corresponding to left and right visual angles are traversed fromleft to right simultaneously, and determining whether the currentprimitive P_(cur) belongs to the currently traversed screen tile pair(T_(cur) ⁰, T_(cur) ¹).

The specific process of S04 is:

S04-1, Sets of T_(Pcur) ⁰, and T_(Pcur) ¹ are formed throughrespectively extracting the screen tiles on the current polar line fromoverlay screen tile sets T_(Pcur) ⁰ and T_(Pcur) ¹ of the currentprimitive P_(cur); and the smallest sequence number screen tiles T_(j)_(min) ⁰ and T_(j) _(min) ¹ extracted from the sets of T_(Pcur) ⁰, andT_(Pcur) ¹ are used as the currently traversing screen tiles T_(cur) ⁰,T_(cur) ¹;

S04-2, Respectively calculating the barycentric coordinates (s_(cur) ⁰,e_(cur) ⁰) and (s_(cur) ¹, e_(cur) ¹) of the screen tiles T_(cur) ⁰ andT_(cur) ¹ on the boundary of the screen tiles, s_(cur) ⁰ and e_(cur) ⁰respectively represent the barycentric coordinates calculated at thevertical coordinate c_(v) ⁰ on the left and right boundary of T_(cur) ⁰;s_(cur) ¹ and e_(cur) ¹ respectively represent the barycentriccoordinates calculated at the vertical coordinate c_(v) ¹ on the leftand right boundary of T_(cur) ¹, and c_(v) ¹=c_(v) ⁰;

S04-3, The traversing direction d of the current primitive P_(cur) onthe current pole line is determined by calculating the differencebetween the barycentric coordinates of the screen tile boundary on thesame polar line;

S04-4, Respectively calculating the benefit interval [E⁰(s), E⁰(e)],[E¹(s), E¹(e)] of the screen tiles T_(cur) ⁰, T_(cur) ¹, if [E⁰(s),E⁰(e)] and [E¹(s), E¹(e)] have overlapping parts, then the currentprimitive P_(cur) belongs to the currently traversed screen tile pair(T_(cur) ⁰, T_(cur) ¹);

Wherein, E⁰(s)=d*s_(cur) ⁰, E⁰(e)=d*e_(cur) ⁰, E¹(s)=d*s_(cur) ¹,E¹(e)=d*e_(cur) ¹;

S04-5, Comparing the sizes of E⁰(e) and E¹(e):

If E⁰(e)<E¹(e), then T_(cur+1) ⁰ is treated as T_(cur) ⁰, T_(cur) ¹remains unchanged;

If E⁰(e)>E¹(e), then T_(cur+1) ¹ is treated as T_(cur) ¹, T_(cur) ⁰remains unchanged;

If E⁰(e)=E¹(e), then T_(cur+1) is treated as T_(cur) ⁰, T_(cur+1) istreated as T_(cur) ¹;

S04-6, After performing Step (e), determining whether the screen tileT_(cur) ⁰ exists in the screen tile set T_(Pcur) ⁰ and the screen tileT_(cur) ¹ exists in the screen tile set T_(Pcur) ¹. If so, Step (b)˜Step(f) are performed circularly, and if not, the traversal search for thecurrent primitive P_(cur) is ended.

In this Embodiment, first, the first polar line in the horizontaldirection is calculated in units of screen tiles, that is, the pixelcoordinates of the Y-axis are 0-7, the serial number of the screen tilescorresponding to the left and right visual angles is 0˜59. Then, theselected current primitive is the first triangle P₁. When traversing thesearch for the screen block pair, the selected current traversing screenblock is T₁₀ ⁰, T₀ ¹. Next, according to the pixel point (80, 4) and thepixel point (88, 4), the barycentric coordinates (S₁₀ ⁰, e₁₀ ⁰) of thescreen tile T₁₀ ⁰ on the boundary of the screen tile are calculated as((0.3, 0.6), (0.6,0.6)); similarly, according to the pixel point (0, 4)and the pixel point (8, 4), the barycentric coordinates (S₀ ¹, e₀ ¹) ofthe screen tile T₁₀ ⁰ on the boundary of the screen tile are calculatedas ((0.2, 0.6), (0.56,0.6)). Further, the traversal direction d isdetermined according to e₁₀ ⁰-S₁₀ ⁰, Finally, the calculated benefitinterval [E⁰(s), E⁰(e)] and [E¹(s), E¹(e)] have overlapping parts, sothe triangle P₁ belongs to the screen tile pair (T₁₀ ⁰, T₀ ¹). After thesearch is completed, and comparing E⁰(e)>E¹(e), the screen tiles T₁₀ ⁰and T₀ ¹ are taken as the current screen tile, and the next search isperformed.

S05, A double-layer index is constructed in the traversing process, thefirst layer index is a primitive index, which is a primitive list on thespace corresponding to the screen tiles; the second layer index is anindex of the primitives on the screen tiles, which is an index list ofprimitives on the screen tiles corresponding to the corresponding spaceof the screen tile pairs.

In this Embodiment, the triangle Pi is taken as an example in the screentile pair (T₁₀ ⁰, T₀ ¹). Since the triangle P₁ is visible in the screentiles T₁₀ ⁰ and T₀ ¹, then the serial numbers of the trianglesrespectively appear in the list of primitives on the screen tiles T₁₀ ⁰and T₀ ¹. Since the primitive list of the screen tile T₁₀ ⁰ has beeninserted with the triangle P₀, the triangle P₁ is inserted at theposition where the primitive index is 1. In the primitive list of thescreen tile T₀ ¹, the triangle P₁ is inserted at the position where theprimitive index is 0, therefore, the last new element of the generatedscreen tile pair (T₁₀ ⁰, T₀ ¹) is (1, 0).

S06, Among the screen tile pairs generated on the current polar line,using a screen tile pair that is not accessed as an starting screen tilepair (T_(s) ⁰, T_(s) ¹) to perform a traversing operation;

In Step S06, in the screen tile pairs that are not accessed on thecurrent polar line, the screen tile pair with the smallest screen tilenumber corresponding to the left visual angle is used as the startingscreen tile pair (T_(s) ⁰, T_(s) ¹), if there are multiple screen tilepairs with the smallest screen tile number corresponding to the leftvisual angle, then the screen tile pair with the smallest screen tilenumber corresponding to the left and right visual angles are used as thestarting screen tile pair (T_(s) ⁰, T_(s) ¹).

In this Embodiment, according to the above-mentioned selection order,the screen tile pair (T₁₀ ⁰, T₀ ¹) is selected as the starting screentile pair.

S07, In the traversing operation, traversing neighboring screen tilepairs that have not been accessed in a depth-first manner.

In Step S07, for the screen tile pair (T_(s) ⁰, T_(s) ¹), theneighboring screen tile pairs that have not been accessed are traversedin a depth-first manner according to the screen tile pair (T_(s+1) ⁰,T_(s) ¹), the screen tile pair (T_(s+1), T_(s+1) ¹), the screen tilepair (T_(s) ⁰, T_(s+1) ¹). In this Embodiment, the screen tile pair (T₁₁⁰, T₀ ¹), the screen tile pair (T₁₁ ⁰, T₁ ¹), the screen tile pair (T₁₀⁰, T₁ ¹) are traversed in turn according to the depth-first manner.

S08, If all connected screen tile pairs have been accessed, the startingscreen tile pair (T_(s) ⁰, T_(s) ¹) is recorded, and a spatiallyconsistent surface is formed by all connected screen tile pairs.

S09, Skipping to perform Steps (2-1)˜(2-3) until all the screen tilepairs have been accessed on the current polar line

In this embodiment, when the next execution of S06 is performed, thescreen tile pair (T₃₀ ⁰, T₂₀ ¹ is taken as a new starting screen tilepair.

By traversing all the screen tile pairs on all the polar lines of thescreen through Steps S06˜S09, a plurality of spatial consistencysurfaces are formed, and the starting screen tile pair (T_(s) ⁰, T_(s)¹) in each spatial consistency surface is recorded, which constitutes astarting screen tile pair set, the starting screen tile pair setincludes a plurality of starting screen tile pair subsets divided bypolar lines, and each starting screen tile pair subset includes allstarting screen tile pairs belonging to the same polar line.

S10, Among the screen tile pair subset corresponding to the currentpolar line, starting with the appropriate starting screen tile pair,according to the depth-first manner, all the unrasterized screen tilepairs in the spatially consistent surface corresponding to the startingscreen tile pair are traversed.

In Step S10, the appropriate starting screen tile pair is determined inthe following manner: in the screen tile pair subsets, the startingscreen tile pair with the maximum screen tile number corresponding tothe right visual angle is used as the appropriate starting screen tilepair; if there are multiple screen tile pairs with the maximum screentile number corresponding to the right visual angle, then the screentiles pair with the maximum screen tile number corresponding to theright and left visual angles are used as the appropriate starting screentile pair. The depth-first manner of Step S10 is consistent with thedepth-first manner of Step S07.

In this Embodiment, taking the first polar line in the horizontaldirection as an example, the starting screen tile pair subset belongingto the polar line includes a screen tile pair (T₁₀ ⁰, T₀ ¹), and ascreen tile pair (T₃₀ ⁰, T₂₀ ¹), in this step, starting with the screentile pair (T₃₀ ⁰, T₂₀ ¹), and traversing the not accessed screen tilepair according to the depth-first manner.

S11, During the traversing process, the primitives in the screen tilepairs being accessed are rasterized and drawn.

In Step S11, the specific process of rasterizing and rendering theprimitives in the screen tile pairs being accessed:

S11-1, For the current screen tile pair being accessed, two primitiveindexes that need to be drawn are read according to the two-layer index;specifically: determining whether the two primitive indexescorresponding to the screen tile pairs are negative, and if so, the twoprimitives have been rasterized on the associated screen tiles, if not ,then Step S11-2 is performed.

S11-2, The rasterization data (screen space position, surface equation)and the corresponding required rendering data (vertex attribute, etc.)are read according to the two primitive indexes, and the two primitivesare rasterized and drawn; and after completing the rasterization andrendering, the primitive index is assigned a negative value and writtenback to the position corresponding to the primitive list on the screentile.

In this Embodiment, taking the screen tile pair (T₁₀ ⁰, T₀ ¹) as anexample, first reading the screen tile list (1,0) on the screen tilepair, then taking the first element in primitive list of T₁₀ ⁰ and the0th element in primitive list of T₀ ¹, and the triangle P₁ of the serialnumber 1 is obtained. Finally, the rasterized data of the triangle P₁ atthe left and right visual angles is read for rasterization. After therasterization is completed, −1 is respectively written to the indexed as1 element in the primitive list of T₁₀ ⁰ and the indexed as 0 element inthe primitive list of T₀ ¹.

S12, Skipping to perform Steps S10˜S12 until all the starting screentile pairs in the starting screen tile pair subsets corresponding to thecurrent polar line are accessed.

In Step S12, taking the first polar line in the horizontal direction asan example, the starting screen tile pair subset belonging to the polarline includes a screen tile pair (T₁₀ ⁰, T₀ ¹) and a screen tile pair(T₃₀ ⁰, T₂₀ ¹), that is, when starting with the screen tile pair (T₁₀ ⁰,T₀ ¹), and traversing all the not accessed screen tile pair according tothe depth-first manner, the access loop ends. So far, the two spatiallyconsistent surfaces starting with the screen tile pair (T₁₀ ⁰, T₀ ¹) andthe screen tile pair (T₃₀ ⁰, T₂₀ ¹) have been rasterized and drawn.Finally, rasterization and rendering of all screen block pairs isimplemented according to S10˜S12.

The above description is one optimum embodiment of the present inventiononly, the scope of protection for the present invention is not limitedto the above embodiment, all technical solutions that belong to theprinciple of the present invention fall within the scope of protectionof the present invention. To a person of ordinary skill in this field inthe industry, any improvement or perfection conducted under theprinciple of the invention shall also be deemed as falling within thescope of protection of the present invention.

1: A screen tile-pair based binocular rendering pipeline process andmethod, comprising the following steps: (1) dividing an entire spaceinto a plurality of screen tile pairs according to the spatialrelationship of left and right visual angles in binocular rendering, andgenerating a primitive list in the input scene corresponding thereto foreach screen tile pair; (2) after generating the screen tile pairs,obtaining a plurality of spatially consistent surfaces by searching thescreen tile pairs, wherein the spatially consistent surface is a surfaceformed by spaces corresponding to a plurality of connected screen tilepairs to the; and (3) after obtaining a plurality of spatial consistencysurfaces, scheduling all the screen tile pairs, and simultaneouslyrasterizing and rendering the primitives corresponding to each screentile pair. 2: The screen tile-pair based binocular rendering pipelineprocess and method according to claim 1, wherein, the specific steps ofStep (1) are as follows: (1-1) according to a present screen tile sizenxn, dividing the screens corresponding to left and right visual angles,respectively, into a plurality of screen tiles T_(j) ⁰ and T_(j) ¹;wherein, j=1,2, . . . , N represents the serial number of the screentiles, and the serial number j is incremented from left to right, fromtop to small, and N is the total number of the screen tiles; (1-2)respectively calculating positions L_(P) _(i) ⁰ and L_(P) _(i) ¹ of aninput i-th primitive P_(i) projected on the screens corresponding toleft and right visual angles, where i=1, 2, M, M is the total number ofthe input primitives; (1-3) after the positions L_(T) _(i) ⁰ and L_(P)_(i) ¹ are determined, respectively calculating screen tiles covered bythe positions L_(P) _(i) ⁰ and L_(P) _(i) ¹, and the screen tiles formscreen tile set T_(Pi) ⁰ and T_(Pi) ¹ covered by the primitive P_(i);(1-4) in a screen tile unit, according to each polar line in thehorizontal direction, simultaneously traversing from left to right thescreen tiles on the current polar line in the screens corresponding toleft and right visual angles, and determining whether the currentprimitive P_(cur) belongs to the currently traversed screen tile pair(T_(cur) ⁰, T_(cur) ¹); (1-5) constructing a double-layer index in thetraversing process, wherein the first layer index is a primitive index,which is a primitive list on the space corresponding to the screentiles; the second layer index is an index of the primitives on thescreen tiles, which is an index list of primitives on the screen tilescorresponding to the corresponding space of the screen tile pairs. 3.The screen tile-pair based binocular rendering pipeline process andmethod according to claim 2, wherein, in Step (1-4), the specific stepsof whether the current primitive P_(cur) belongs to the currentlytraversed screen tile pair (T_(cur) ⁰, T_(cur) ¹) are as follows: (a)forming sets of T_(Pcur) ⁰, and T_(Pcur) ¹ through respectivelyextracting the screen tiles on the current polar line from overlayscreen tile sets T_(Pcur) ⁰ and T_(Pcur) ¹ of the current primitiveP_(cur); and using the smallest sequence number screen tiles T_(jmin) ⁰and T_(jmin) ¹ extracted from the sets of T_(Pcur) ⁰, and T_(Pcur) ¹ asthe currently traversing screen tiles T_(cur) ⁰, T_(cur) ¹; (b)respectively calculating the barycentric coordinates (s_(cur) ⁰, e_(cur)⁰) and (s_(cur) ¹, e_(cur) ¹) of the screen tiles T_(cur) ⁰ and T_(cur)¹ on the boundary of the screen tiles, s_(cur) ⁰ and e_(cur) ⁰respectively represent the barycentric coordinates calculated at thevertical coordinate c_(v) ⁰ on the left and right boundary of T_(cur) ⁰;s_(cur) ¹ and e_(cur) ¹ respectively represent the barycentriccoordinates calculated at the ertical coordinate c_(v) ¹ on the left andright boundary of T_(cur) ¹, and c_(v) ¹=c_(v) ⁰; (c) determining thetraversing direction d of the current primitive P_(cur) on the currentpole line by calculating the difference between the barycentriccoordinates of the screen tile boundary on the same polar line; (d)respectively calculating the benefit interval [E⁰(s), E⁰(e)], [E¹(s),E¹(e)] of the screen tiles T_(cur) ⁰, T_(cur) ¹, if [E⁰(s), E⁰(e)] and[E¹(s), E¹(e)] have overlapping parts, then the current primitiveP_(cur) belongs to the currently traversed screen tile pair (T_(cur) ⁰,T_(cur) ¹); wherein, E⁰(s)=d*s_(cur) ⁰, E⁰(e)=d*e_(cur) ⁰,E¹(s)=d*s_(cur) ¹, E¹(e)=d*e_(cur) ¹; (e) comparing the sizes of E⁰(e)and E¹(e): if E⁰(e)<E¹(e), then T_(cur+1) ⁰ is treated as T_(cur) ⁰,T_(cur) ¹ remains unchanged; if E⁰(e)>E¹(e), then T_(cur+1) ¹ is treatedas T_(cur) ¹, T_(cur) ⁰ remains unchanged; if E⁰(e)=E¹(e), thenT_(cur+1) ⁰ is treated as T_(cur) ⁰, T_(cur+1) ¹ is treated as T_(cur)¹; (f) after performing Step (e), determining whether the screen tileT_(cur) ⁰ exists in the screen tile set T_(Pcur) ⁰ and the screen tileT_(cur) ¹ exists in the screen tile set T_(Pcur) ¹; if so, Step (b)˜Step(f) are performed circularly, and if not, the traversal search for thecurrent primitive P_(cur) is ended. 4: The screen tile-pair basedbinocular rendering pipeline process and method according to claim 1,wherein, in Step (2), a plurality of spatially consistent surfacesobtained by searching the screen tile pairs are based on the screentiles, the following steps are performed for each polar line in thehorizontal direction: (2-1) among the screen tile pairs generated on thecurrent polar line, using a screen tile pair that is not accessed as anstarting screen tile pair (T_(s) ⁰, T_(s) ¹) to perform a traversingoperation; (2-2) in the traversing operation, traversing neighboringscreen tile pairs that have not been accessed in a depth-first manner;(2-3) if all connected screen tile pairs have been accessed, recordingthe starting screen tile pair (T_(s) ⁰, T_(s) ¹), and forming aspatially consistent surface by all connected screen tile pairs; (2-4)skipping to perform Steps (2-1)˜(2-3) until all the screen tile pairshave been accessed on the current polar line; by traversing all thescreen tile pairs on all the polar lines of the screen through Steps(2-1)˜(2-4), a plurality of spatial consistency surfaces are formed, andthe starting screen tile pair (T_(s) ⁰, T_(s) ¹) in each spatialconsistency surface is recorded, which constitutes a starting screentile pair set, the starting screen tile pair set includes a plurality ofstarting screen tile pair subsets divided by polar lines, and eachstarting screen tile pair subset includes all starting screen tile pairsbelonging to the same polar line. 5: The screen tile-pair basedbinocular rendering pipeline process and method according to claim 4,wherein, in Step (2-1), in the screen tile pairs that are not accessedon the current polar line, the screen tile pair with the smallest screentile number corresponding to the left visual angle is used as thestarting screen tile pair (T_(s) ⁰, T_(s) ¹), if there are multiplescreen tile pairs with the smallest screen tile number corresponding tothe left visual angle, then the screen tile pair with the smallestscreen tile number corresponding to the left and right visual angles areused as the starting screen tile pair (T_(s) ⁰, T_(s) ¹). 6: The screentile-pair based binocular rendering pipeline process and methodaccording to claim 4, in Step (2-2), for the screen tile pair (T_(s) ⁰,T_(s) ¹), the neighboring screen tile pairs that have not been accessedare traversed in a depth-first manner according to the screen tile pair(T_(s+1) ⁰, T_(s) ¹), the screen tile pair (T_(s+1) ⁰, T_(s+1) ¹), thescreen tile pair (T_(s) ⁰, T_(s+1) ¹). claim 7: The screen tile-pairbased binocular rendering pipeline process and method according to claim4, in Step (3), the following steps are performed for each polar line inthe horizontal direction: (3-1) among the screen tile pair subsetcorresponding to the current polar line, starting with the appropriatestarting screen tile pair, according to the depth-first manner, all theunrasterized screen tile pairs in the spatially consistent surfacecorresponding to the starting screen tile pair are traversed; (3-2)during the traversing process, the primitives in the screen tile pairsbeing accessed are rasterized and drawn; (3-3) skipping to perform Steps(3-1)˜(3-3) until all the starting screen tile pairs in the startingscreen tile pair subsets corresponding to the current polar line areaccessed; all the screen tile pairs are rasterized and drawn accordingto Steps (3-1)˜(3-3). claim 8: The screen tile-pair based binocularrendering pipeline process and method according to claim 7, wherein, inStep (3-1), the appropriate starting screen tile pair is determined inthe following manner: in the screen tile pair subsets, the startingscreen tile pair with the maximum screen tile number corresponding tothe right visual angle is used as the appropriate starting screen tilepair; if there are multiple screen tile pairs with the maximum screentile number corresponding to the right visual angle, then the screentiles pair with the maximum screen tile number corresponding to theright and left visual angles are used as the appropriate starting screentile pair. 9: The screen tile-pair based binocular rendering pipelineprocess and method according to claim 7, wherein, in Step (3-2), thespecific process of rasterizing and rendering the primitives in thescreen tile pairs being accessed: (3-2-1) for the current screen tilepair being accessed, two primitive indexes that need to be drawn areread according to the two-layer index; (3-2-2) the rasterization dataand the corresponding required rendering data are read according to thetwo primitive indexes, and the two primitives are rasterized and drawn.10: The screen tile-pair based binocular rendering pipeline process andmethod according to claim 9, wherein, in Step (3-2-1), it is necessaryto determine whether the two primitive indexes corresponding to thescreen tile pairs are negative, and if so, the two primitives have beenrasterized on the associated screen tiles, if not, then Step (3-2-2) isperformed; and after completing the rasterization and rendering in Step(3-2-2), the primitive index is assigned a negative value and writtenback to the position corresponding to the primitive list on the screentile.